package com.zmn.plat.services.impl.contract.file.record;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.zmn.plat.model.entity.contract.file.record.ContractFileRecord;
import com.zmn.plat.model.entity.contract.file.record.ContractFileRecordQuery;
import com.zmn.plat.persistence.interfaces.contract.file.record.ContractFileRecordDao;
import com.zmn.plat.services.interfaces.contract.file.record.ContractFileRecordService;

@Service
public class ContractFileRecordServiceImpl implements ContractFileRecordService {

    @Resource
    ContractFileRecordDao contractFileRecordDao;

    @Override
    public ContractFileRecord findByKey(Integer relateId) {
        return contractFileRecordDao.findByKey(relateId);
    }

    @Override
    public List<ContractFileRecord> listPageByQuery(ContractFileRecordQuery query) {
        int count = countByQuery(query);
        query.setTotalCount(count);
        return contractFileRecordDao.listPageByQuery(query);
    }

    @Override
    public List<ContractFileRecord> listByQuery(ContractFileRecordQuery query) {
        return contractFileRecordDao.listByQuery(query);
    }

    @Override
    public List<ContractFileRecord> listAll() {
        return contractFileRecordDao.listAll();
    }

    @Override
    public Integer countByQuery(ContractFileRecordQuery query) {
        return contractFileRecordDao.countByQuery(query);
    }

    @Override
    public Integer updateByKey(ContractFileRecord contractFileRecord) {
        return contractFileRecordDao.updateByKey(contractFileRecord);
    }

    @Override
    public Integer insert(ContractFileRecord contractFileRecord) {
        return contractFileRecordDao.insert(contractFileRecord);
    }

    @Override
    public Integer deleteByKey(Integer relateId) {
        return contractFileRecordDao.deleteByKey(relateId);
    }

    @Override
    public Integer insertBatch(List<ContractFileRecord> contractFileRecords) {
        return contractFileRecordDao.insertBatch(contractFileRecords);
    }

    @Override
    public Integer deleteByContractId(Integer contractId) {
        return contractFileRecordDao.deleteByContractId(contractId);
    }
}